package avicit.cbb.businessclass.fondsmanage.service;

import java.util.List;
import java.util.Map;

import avicit.cbb.businessclass.fondsmanage.domain.CbbFondsDb;
import avicit.cbb.businessclass.fondsmanage.domain.CbbFondsDbV;
import avicit.cbb.businessclass.fondsmanage.domain.CbbFondsServer;
import avicit.cbb.businessclass.fondsmanage.domain.CbbFondsServerV;
import avicit.im.common.CommonTreeNode;
import avicit.platform6.core.dao.Paging;
import avicit.platform6.core.jdbc.Page;

/**
 * <p>
 * 金航数码科技有限责任公司
 * </p>
 * <p>
 * 作者：张坚
 * </p>
 * <p>
 * 邮箱：18629436468@163.com
 * </p>
 * <p>
 * 创建时间： 2014-9-24 下午4:15:59
 * </p>
 * <p>
 * 类说明：全宗管理模块业务接口
 * </p>
 * <p>
 * 修改记录：
 * </p>
 */
public interface CbbFondsDbService {

	/**
	 * 加载全宗组织部门树
	 * 
	 * @author 张坚
	 * @param id
	 * @param deptId
	 * @return
	 * @throws Exception
	 *             List<CommonTreeNode>
	 * @throws
	 */
	public List<CommonTreeNode> getChildsNode(String id, String deptId, String orgId)
			throws Exception;

	/**
	 * 查询全宗信息
	 * 
	 * @author 张坚
	 * @param page
	 * @param parameter
	 * @return Paging<CbbFondsDbV>
	 * @throws
	 */
	public Page<Map<String, Object>> loadCbbFondsDb(
			Paging<CbbFondsDbV> page, Map<String, Object> parameter);

	/**
	 * 查询全文服务器设置信息
	 * 
	 * @author 张坚
	 * @param page
	 * @param parameter
	 * @return Paging<CbbFondsServerV>
	 * @throws
	 */
	public Page<Map<String, Object>> loadCbbFondsServer(
			Paging<CbbFondsServerV> page, Map<String, Object> parameter);

	/**
	 * 删除全宗记录
	 * 
	 * @author 张坚
	 * @param ids
	 * @throws Exception
	 *             void
	 * @throws
	 */
	public void deleteCbbFondsDb(String ids) throws Exception;

	/**
	 * 删除全文服务器设置信息
	 * 
	 * @author 张坚
	 * @param ids
	 *            void
	 * @throws
	 */
	public void deleteCbbFondsServer(String ids);

	/**
	 * 新增全宗管理记录
	 * 
	 * @author 张坚
	 * @param cbbFondsDb
	 * @throws Exception
	 *             void
	 * @throws
	 */
	public void insertCbbFondsDb(CbbFondsDb cbbFondsDb) throws Exception;

	/**
	 * 获取部门编号、名称信息
	 * 
	 * @author 张坚
	 * @param id
	 * @return Map<String,Object>
	 * @throws
	 */
	public Map<String, Object> getSysOrgInfo(String id);

	/**
	 * 更新全宗管理记录
	 * 
	 * @author 张坚
	 * @param cbbFondsDb
	 * @throws Exception
	 *             void
	 * @throws
	 */
	public void updateCbbFondsDb(CbbFondsDb cbbFondsDb) throws Exception;

	/**
	 * 根据ID获取全宗视图对象
	 * 
	 * @author 张坚
	 * @param id
	 * @return CbbFondsDbV
	 * @throws
	 */
	public List<Map<String, Object>> getCbbFondsDbV(String id);

	/**
	 * 新增全宗管理记录
	 * 
	 * @author 张坚
	 * @param cbbFondsServer
	 * @throws Exception
	 *             void
	 * @throws
	 */
	public void insertCbbFondsServer(CbbFondsServer cbbFondsServer)
			throws Exception;

	/**
	 * 根据ID获取全文服务器信息设置视图对象
	 * 
	 * @author 张坚
	 * @param id
	 * @return CbbFondsServerV
	 * @throws
	 */
	public List<Map<String, Object>> getCbbFondsServerV(String id);

	/**
	 * 更新全文服务器记录
	 * 
	 * @author 张坚
	 * @param cbbFondsServer
	 * @throws Exception
	 *             void
	 * @throws
	 */
	public void updateCbbFondsServer(CbbFondsServer cbbFondsServer)
			throws Exception;

	/**
	 * 根据全宗记录ID删除全文服务器记录
	 * 
	 * @author 张坚
	 * @param id
	 * @throws Exception
	 *             void
	 * @throws
	 */
	public void deleteCbbFondsServerByDbId(String id) throws Exception;
	
	/**
	 * 添加唯一性校验
	 * @author 张坚 
	 * @param fullsvrType
	 * @param svrAddress
	 * @param svrPublishPath
	 * @param ftpUser
	 * @return boolean
	 */
	public boolean saveUniqueValidate(String fullsvrType, String svrAddress, String svrPublishPath, String ftpUser);
	
	/**
	 * 编辑唯一性校验
	 * @author 张坚 
	 * @param id
	 * @param fullsvrType
	 * @param svrAddress
	 * @param svrPublishPath
	 * @param ftpUser
	 * @return boolean
	 */
	public boolean editUniqueValidate(String id, String fullsvrType, String svrAddress, String svrPublishPath, String ftpUser);
	
	/**
	 * 获取全宗单位数据库连接信息
	 * @param paramMap
	 * @return
	 * @throws Exception List<Map<String,Object>>
	 */
	public List<Map<String, Object>> getCbbFondsDbInfoStr(Map<String,Object> paramMap) throws Exception;
}